package com.skilltrack.user.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * @description 使用 WebMvcConfigurer 配置全局 CORS
 * @author Mr.M
 * @date 2025/3/12 11:04
 * @version 1.0
 */
@Configuration
public class GlobalCorsConfig implements WebMvcConfigurer {

    /**
     * 添加CORS映射
     * 此方法配置了一个CORS（跨域资源共享）过滤器，用于处理跨域HTTP请求
     * 跨域请求通常在前端应用（如React、Vue等）与后端服务交互时需要配置
     * 该过滤器主要负责设置跨域请求的响应头，以告知浏览器允许跨域请求
     */
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOrigins("*") // 允许所有域名跨域调用
                .allowCredentials(true) // 允许跨越发送cookie
                .allowedHeaders("*") // 放行全部原始头信息
                .allowedMethods("*"); // 允许所有请求方法跨域调用
    }
}
